88e8e2391757b2469c492cc883c6277befe4979d,integrations/opennms-rancid/src/main/java/org/opennms/netmgt/provision/RancidProvisioningAdapter.java,RancidProvisioningAdapter,doUpdate,#number#,189

Before Change


            }

            
            rNode = getSuitableRancidNode(node);
            RWSClientApi.createOrUpdateRWSRancidNode(m_cp, rNode);
            
            rAuth = getSuitableRancidNodeAuthentication(node);
            RWSClientApi.createOrUpdateRWSAuthNode(m_cp, getSuitableRancidNodeAuthentication(node));
            
            m_onmsNodeRancidNodeMap.replace(node.getId(), new RancidNodeContainer(rNode, rAuth));

After Change


        log().debug("RANCID PROVISIONING ADAPTER CALLED updateNode");
        try {
            OnmsNode node = m_nodeDao.get(nodeId);
            Assert.notNull(node, "Rancid Provisioning Adapter update Node method failed to return node for given nodeId:"+nodeId);
            
            // if the node exists and has different label then first delete old data
            if (m_onmsNodeRancidNodeMap.containsKey(Integer.valueOf(nodeId))) {
            RancidNode rNode = m_onmsNodeRancidNodeMap.get(Integer.valueOf(nodeId)).getNode();            
            RancidNodeAuthentication rAuth = m_onmsNodeRancidNodeMap.get(Integer.valueOf(nodeId)).getAuth();
                if (!rNode.getDeviceName().equals(node.getLabel())) {
                    RWSClientApi.deleteRWSRancidNode(m_cp, rNode);
                    RWSClientApi.deleteRWSAuthNode(m_cp, rAuth);
                }
            }
            
            RancidNode rNode = getSuitableRancidNode(node);
            RWSClientApi.createOrUpdateRWSRancidNode(m_cp, rNode);
            
            RancidNodeAuthentication rAuth = getSuitableRancidNodeAuthentication(node);
            RWSClientApi.createOrUpdateRWSAuthNode(m_cp, getSuitableRancidNodeAuthentication(node));
            
            m_onmsNodeRancidNodeMap.replace(node.getId(), new RancidNodeContainer(rNode, rAuth));